package com.crm.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.crm.entity.User;

@Mapper
public interface UserMapper {
	/**
	 * 根据id删除
	 * @param userid
	 * @return
	 */
    int deleteByPrimaryKey(String id);
    
    /**
	  * 注册，插入数据
	  * @param user
	  */
	 void insertUser(User user);
	 
	 /**
	  * 根据邮箱查询
	  * @param email
	  * @return
	  */
	 User queryByEmail(String protectEMail);

    /**
     * 条件添加
     * @param user
     * @return
     */
    int insertSelective(User user);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    User selectByPrimaryKey(String id);
    
    /**
     * 多条件查询
     * @param setValue
     * @param limit
     * @param userName
     * @param beginDate
     * @param endDate
     * @param isLock
     * @param orderBy
     * @return
     */
    List<User> selectAll(Integer setValue, Integer limit,String loginName, String createTime, String endDate, String isLockout, String orderBy);
    
    /**
     * 查询全部
     * @return
     */
    List<User> selectListAll();
    /**
     * 查询行数
     * @param userName
     * @param beginDate
     * @param endDate
     * @param isLock
     * @param orderBy
     * @return
     */
    int getCount(String loginName, String createTime, String endDate, String isLockout, String orderBy);
    
    /**
     * 根据loginName和password查询
     * @param loginName
     * @param password
     * @return
     */
    User selectByNameAndPwd(String loginName,String password);
    
    /**
     * 根据手机号查询用户
     * @param phoneNumber
     * @return
     */
    User selectByProtectMTel(String phoneNumber);
    
    /**
     * 根据loginName查询
     * @param loginName
     * @return
     */
    User selectByName(String loginName);

    /**
     * 条件修改
     * @param user
     * @return
     */
    int updateByPrimaryKeySelective(User user);
    
    /**
     * 是否锁定
     * @param id
     * @param isLockout
     * @return
     */
    int updateByIsLockout(String id,String isLockout);
    
    /**
     * 查询全部咨询师角色
     * @return
     */
    List<User> selectAskersAll();
    
    /**
     * 判断用户是否重复
     * @param loginName
     * @return
     */
    User isRepetitionUser(String loginName);
}